草庐IT

xml - 在 Vim 中跳转到匹配的 XML 标签

全部标签

ruby - 用 Ruby 正则表达式中的值替换所有匹配项

我在进行Ruby字符串替换时遇到了问题。我正在为我正在使用的有限语言编写一个预处理器,它本身不支持数组,所以我自己动手。我有一条线:x[0]=x[1]&x[1]=x[2]我想用重新格式化的版本替换每个实例:x__0=x__1&x__1=x__2该行可能在别处包含方括号。我有一个匹配数组用途的正则表达式:array_usage=/(\w+)\[(\d+)\]/但我想不出Ruby构造来逐个替换每个实例。我不能使用.gsub()因为它会匹配行中的每个实例,并将每个数组声明替换为第一个声明。.scan()提示说,如果您尝试在block内使用带有.sub()!的扫描,则字符串正在被修改。如有任何

ruby - Nokogiri 等效于 jQuery closest() 方法,用于在树中查找第一个匹配的祖先

jQuery有一个可爱的方法,虽然名字有点错误,叫做closest()遍历DOM树寻找匹配的元素。例如,如果我有这个HTML:Yay假设element设置为,然后我可以算出src的值像这样:element.closest('table')['src']如果缺少table元素或其src属性,它将干净地返回“undefined”。在Javascriptland中已经习惯了这一点,我很想在Rubyland中找到与Nokogiri等效的东西,但我能想到的最接近的是使用ancestors()的明显不雅的hack。:ancestors=element.ancestors('table')src=a

ruby - 将 VIM 插件添加到 Janus 设置中

我最近切换到使用Janus来自一组自定义的vim插件和.vimrc。我真的很喜欢这个设置,但我缺少的一件事是在Ruby中自动完成block。例如,当我键入:defmethod它将完成block:defmethod#cursorhereend我正在使用TimPope的一些插件,但不记得是哪一个提供了功能(也许是Rails?)有没有办法使用Janus获得此功能?有没有人不想要这个的原因?看起来真的很方便。 最佳答案 根据janus文档documentation:如果你想添加额外的Vim插件,你可以通过添加~/.janus.rake来实现

ruby - 使用正则表达式在 Ruby 中查找精确的模式匹配

我将如何使用正则表达式测试精确匹配。"car".match(/[ca]+/)返回true。由于正则表达式模式不包含“r”,我如何让上述语句返回false?任何包含除“c”和“a”以外的任何字符的字符串都应返回false。“acacaccc”应该返回真“acacacxcc”应该返回false 最佳答案 为其添加一些anchor:/^[ca]+$/ 关于ruby-使用正则表达式在Ruby中查找精确的模式匹配,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 从表中删除与数组中的数据匹配的记录?

我有一个包含2个字段的表。单词和时间戳。然后我有这个包含一些单词的数组。如何删除表中与数组中的单词匹配的所有记录?假设模型名为“Word”。关于如何实现这一点有什么想法吗?可能遍历数组并运行一些销毁查询。有人可以指导我吗?谢谢 最佳答案 这样做:Word.delete_all(:words=>words_array)这将在一个SQL语句中删除与给定数组中的单词匹配的行。例如:words=["pop","popalternative","r&b"]Word.delete_all(:words=>words)

ruby - 如何在 ruby​​ 数组中找到匹配值?

有数组[1,2,5]和[1,2,3]我想提取匹配值,如果有这样的方法:[1,2,5].match([1,2,3])#=>[1,2]数组有什么方法吗,谢谢 最佳答案 非常简单:[1,2,5]&[1,2,3]#=>[1,2]其他有用的数组操作包括:[1,2,3]|[1,3,4]#=>[1,2,3,4][1,2,3]-[1,3,4]#=>[2][1,2,3]+[1,3,4]#=>[1,2,3,1,3,4] 关于ruby-如何在ruby​​数组中找到匹配值?,我们在StackOverflow上找

ruby-on-rails - 来自 cucumber 的 HTTP POST XML 内容

我正在尝试通过POST将XML内容发送到一个简单的Rails项目中的Controller(“解析”)方法(“索引”)。它不是RESTful,因为我的模型名称不同,比如“汽车”。我在有效的功能测试中有以下内容:deftest_index...data_file_path=File.dirname(__FILE__)+'/../../app/views/layouts/index.xml.erb'message=ERB.new(File.read(data_file_path))xml_result=message.result(binding)doc=REXML::Document.ne

ruby-on-rails - 如何在 Ruby/Rails 中匹配和替换模板标签?

尝试向我的一个Rails模型添加一个非常基本的描述模板。我想要做的是采用这样的模板字符串:template="{{name}}isthebest{{occupation}}in{{city}}."和这样的散列:vals={:name=>"JoeSmith",:occupation=>"birthdayclown",:city=>"LasVegas"}并生成描述。我以为我可以用一个简单的gsub来做到这一点,但Ruby1.8.7不接受散列作为第二个参数。当我像这样将gsub作为block执行时:>template.gsub(/\{\{\s*(\w+)\s*\}\}/){|m|vals[m

ruby - 如何将字符串匹配到第一个逗号(如果存在)与 Ruby 正则表达式

我正在努力获得将提供以下内容的正则表达式(在Ruby中)"one,two"->"one""one,two,three"->"one""onetwothree"->"onetwothree"我想匹配字符串中第一个逗号之前的所有字符。如果没有逗号,我希望匹配整个字符串。到目前为止,我的最大努力是/.*(?=,)?/这会从上面的示例中产生以下输出"one,two"->"one""one,two,three"->"one,two""onetwothree"->"onetwothree"关闭但没有雪茄。谁能帮忙? 最佳答案 我想知道它是否可以

ruby-on-rails - OAuth2::Error,invalid_request:redirect_uri 与应用程序配置不匹配

我正在开发一个使用BungieOAuth使用thisgem进行身份验证的Rails应用程序.我在initializers/devise.rb中的配置如下:config.omniauth:bungie,ENV['CLIENT_ID'],ENV['CLIENT_SECRET'],ENV['X_API_KEY'],ENV['REDIRECT_URL']Bungie的开发人员门户需要使用HTTPS的重定向URL,因此我将我的应用程序推送到Heroku并使用了aredirect强制身份验证返回本地主机进行测试。使用这种方法,一切正常。但是,当我将应用程序推向生产环境时,Bungie对我的应用程序